//适配器模式的案例：

// 定义一个已存在的对象
function LegacyCalculator() {
  this.add = function(a, b) {
    return a + b;
  };
}

// 定义适配器，将已存在的对象适配成新的接口
function CalculatorAdapter() {
  var legacyCalculator = new LegacyCalculator();

  this.sum = function(numbers) {
    var result = 0;
    for (var i = 0; i < numbers.length; i++ ) {
      result = legacyCalculator.add(result, numbers[i]);
    }
    return result;
  };
}

// 使用适配器
var numbers = [1, 2, 3, 4, 5];
var calculator = new CalculatorAdapter();
var sum = calculator.sum(numbers);
console.log(sum); // 输出：15
/*

在上述案例中，我们有一个已存在的 LegacyCalculator 对象，它有一个 add 方法用于计算两个数的和。然后，我们创建了一个适配器 CalculatorAdapter，它将 LegacyCalculator 适配成一个新的接口，即 sum 方法，该方法可以接收一个数字数组，并返回它们的和。

通过使用适配器模式，我们可以将已存在的对象适配成新的接口，使其能够与其他代码进行交互，而无需修改已有代码。*/